﻿/*=========================================================================
  Program:   pangu
  Module:    Mesh.h
  Author: huan.liu, sen.wang

  Copyright (c) CQAI
  All rights reserved.

 * @class   Mesh
 * @brief   mesh base class
=========================================================================*/

#ifndef _MESH_H_
#define _MESH_H_

#include <string>
#include <qprocess.h>

class Geometry;

class Mesh:public QObject
{
	Q_OBJECT
public:
  Mesh(const Geometry& geometry);
  ~Mesh();

  virtual void Build() = 0;
  void SetWorkSpace(const std::string& space);
  void SetBoundBoxingPar(const std::string& RelativeBoundLength);

signals:
  void writeProcessRate(QString processMsg,int rate);

protected:
  std::string m_WorkSpace;
  const Geometry& m_Geometry;
  std::string m_BoundingBoxParameter;

  QProcess* m_generateMesh;

};


#endif // !_MESH_H_
